swift学习日记——每日一个小程序
名称:30DaysofSwift
工具: Xcode 10.1, Swift 4.2, UIKit
思路来源:samvlu ,Allen_朝辉,nimomeng
用例方面:主要参考nimomeng的case,也参考了Sam Lu的40个小项目,也参考了Allen_朝辉的项目
代码方面:前两个项目学习了Storyboard,然而实际上多人协作的项目中我们尽可能少用Storyboard,因为很容易出现冲突问题。况且从学习的角度,storyboard很难说清楚操作步骤是什么。因此以后的项目都尽量手写。
开源项目:暂未整理完成
Project 3 : 计时器 Change Custom Font
学习内容:
- SnapKit:项目的自动布局
- Timer 计时器:fire()与invalidate()
- guard语句:guard 判断合理条件,保证判断条件简约。详见 guard详解
Project 2 : 改变字体 Change Custom Font
学习内容:
- 获取字体属性:UIFont.familyNames可以存储为数组,可以直接输出、或通过索引获取
- 随机获取字体:随机数arc4random()格式为UInt32,需转为Int,再对数组长度取余。获得范围随机数
- 字体设置:words.font=UIFont(name: “字体名称”, size: 20)
- 按钮边框设置:圆角cornerRadius,颜色borderColor,该颜色需要CGColor,因此需要将UIColor转为CGColor
源码:
1 | // |
Project 1 : 加法计算器 Calculation of Add
学习内容:
- IOS的UI布局:使用Storyboard和其辅助视图添加部件,且为部件定义,加上动作
- 值的转化:Option获取 -> String -> Float计算 -> String展示